package com.ys.nms.module.business.controller.admin.companyProperty.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ys.nms.module.business.libreApi.devices.req.DeviceAddRequest;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import jakarta.validation.constraints.NotEmpty;
import java.time.LocalDate;

@Schema(description = "管理后台 - 资产新增/修改 Request VO")
@Data
public class CompanyPropertySaveReqVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23694")
    private Integer id;

    @Schema(description = "IP地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @NotEmpty(message = "IP地址不能为空")
    private String hostName;

    @Schema(description = "名称", example = "芋艿")
    @NotEmpty(message = "名称不能为空")
    private String name;

    @Schema(description = "设备类型", example = "2")
    private Long deviceType;

    @Schema(description = "业务类型", example = "1")
    private String businessType;

    @Schema(description = "区域")
    private Long area;

    @Schema(description = "厂商")
    private String manufacturer;

    @Schema(description = "型号")
    private String model;

    @Schema(description = "序列号")
    private String serial;

    @Schema(description = "生产日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate manufactureDate;

    @Schema(description = "质保到期日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate warrantyDate;

    @Schema(description = "设备分布位置")
    private String location;

    @Schema(description = "采集状态1已采集2未采集")
    private Integer collect;

    private DeviceAddRequest libreDevice;


}